home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / programr / ole2book.zip / CHAP11.ZIP / CHAP11 / HSCHMOO / MAKEFILE < prev    next >
Text File  |  1993-06-13  |  3KB  |  110 lines

  1. #
  2. # MAKEFILE
  3. # Schmoo Figure Handler Chapter 11
  4. #
  5. # Copyright (c)1993 Microsoft Corporation, All Rights Reserved
  6. #
  7. # Kraig Brockschmidt, Software Design Engineer
  8. # Microsoft Systems Developer Relations
  9. #
  10. # Internet  :  kraigb@microsoft.com
  11. # Compuserve:  >INTERNET:kraigb@microsoft.com
  12. #
  13.  
  14. #Add '#' to the next line for 'noisy' operation
  15. !CMDSWITCHES +s
  16.  
  17. #
  18. #Compiler flags
  19. #Use "SET RETAIL=1" from MS-DOS to compile non-debug version.
  20. #
  21. !ifndef RETAIL
  22. CFLAGS  = -c -Od -AS -Zipe -G2s -W3 -GA -GEd -Aw
  23. LINK    = /al:16/ONERROR:NOEXE/CO
  24. DEFS    = -DSTRICT -D_WINDLL -DDEBUG
  25. !else
  26. CFLAGS  = -c -Oat -AS -Zpe -G2s -W3 -GA -GEd -Aw
  27. LINK    = /al:16/ONERROR:NOEXE
  28. DEFS    = -DSTRICT -D_WINDLL
  29. !endif
  30.  
  31. .SUFFIXES: .h .obj .exe .cpp .res .rc
  32.  
  33. TARGET  = hschmoo
  34.  
  35. goal:   precomp.pch $(TARGET).dll
  36.  
  37. clean:
  38.     del *.pch
  39.     del *.obj
  40.     del *.res
  41.     del *.dll
  42.  
  43. PCHFLAGS= -Yu$(TARGET).h -Fpprecomp.pch
  44.  
  45. #CHAPTER5MOD
  46. OLELIBS  = compobj storage ole2
  47. LIBS     = libw sdllcew $(OLELIBS)
  48. #End CHAPTER5MOD
  49.  
  50.  
  51. INCLS   = $(TARGET).h
  52. OBJS1   = $(TARGET).obj figure.obj iperstor.obj
  53. OBJS2   = ioleobj.obj iviewobj.obj iadvsink.obj
  54. OBJS    = $(OBJS1) $(OBJS2)
  55. RCFILES =
  56.  
  57.  
  58. #####
  59.  
  60. .cpp.obj:
  61.     echo +++++++++
  62.     echo Compiling $*.cpp
  63.     cl -nologo $(CFLAGS) $(PCHFLAGS) $(DEFS) $*.cpp
  64.  
  65. .rc.res:
  66.     echo +++++++++
  67.     echo Compiling Resources
  68.     rc -r $(DEFS) $*.rc
  69.  
  70. precomp.pch : $(TARGET).h
  71.     echo +++++++++
  72.     echo Precompiling $(TARGET).h
  73.     cl $(CFLAGS) $(DEFS) -Yc$(TARGET).h -Fpprecomp.pch -Foprecomp precomp.cpp
  74.  
  75.  
  76. #This rule builds a linker response file on the fly depending on debug flags
  77. $(TARGET).dll : $(OBJS) $(TARGET).res $(TARGET).def
  78.     echo ++++++++++
  79.     echo Linking $@
  80.     echo libentry.obj precomp.obj +              > $(TARGET).lrf
  81.     echo $(OBJS1)+                              >> $(TARGET).lrf
  82.     echo $(OBJS2)                               >> $(TARGET).lrf
  83.  
  84.     echo $(TARGET).dll $(LINK)                  >> $(TARGET).lrf
  85.     echo nul/li                                 >> $(TARGET).lrf
  86.     echo $(LIBS)/NOD/NOE                        >> $(TARGET).lrf
  87.     echo $(TARGET).def                          >> $(TARGET).lrf
  88.  
  89.     link @$(TARGET).lrf
  90.     rc -v $(TARGET).res $(TARGET).dll
  91.     del $(TARGET).lrf
  92.  
  93.  
  94. ##### Dependencies #####
  95.  
  96. #This rule is defined separately to avoid precompiled headers where
  97. #INITGUIDS is defined.
  98.  
  99. $(TARGET).obj : $(TARGET).cpp   $(INCLS)
  100.     echo +++++++++
  101.     echo Compiling $*.cpp
  102.     cl -nologo $(CFLAGS) $(DEFS) $*.cpp
  103.  
  104. figure.obj    : figure.cpp    $(INCLS)
  105. iperstor.obj  : iperstor.cpp  $(INCLS)
  106. ioleobj.obj   : ioleobj.cpp   $(INCLS)
  107. iviewobj.obj  : iviewobj.cpp  $(INCLS)
  108. iadvsink.obj  : iadvsink.cpp  $(INCLS)
  109. $(TARGET).res : $(TARGET).rc  $(RCFILES)
  110.